#include <stdio.h>

// wezly
#define NODES_NR 256
typedef int node; // typ node
node nodestab[NODES_NR];
void nodestab_print(node a[], int l, int r);

// sortowanie
#define key(A) (A) // wyznaczony klucz
#define less(A, B) (key(A) < key(B)) // porownywanie kluczy
#define exch(A, B) { node t = A; A = B; B = t; } // zamiana wezlow
#define compexch(A, B) if (less(B, A)) exch(A, B) // zamiana z porownaniem
void ssort(node* , int , int ); 

int main() 
{
  int nnr = 10;
  node nodestab[10] = {1,34,10,6,8,18,5,7,23,15};
  ssort(nodestab, 0, nnr);
  nodestab_print(nodestab, 0, nnr-1);
  return 0;
}

// funkcje dla wezlow
void nodestab_print(node a[], int l, int r)
{
  int i;
  int x;
  for (i = l; i <= r; i++) {
    x = a[i]; 
    printf("%i ", x);
  }
  printf("\n");
};

// funkcje dla sortowania
void ssort(node a[], int l, int r)
{ 
  int i, j;
  int min;
  for (i = l; i < r; i++) { 
    min = i;
    for (j = i + 1; j < r; j++) 
      if (less(a[j], a[min])) min = j;
    exch(a[i], a[min]);
  } 
};



